package com.zt.dev.standardManage.mapper;

import com.zt.dev.standardManage.entity.vo.Category;
import com.zt.dev.standardManage.entity.vo.ResultVO;
import com.zt.dev.standardManage.entity.vo.Standards;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository

public interface StandardMapper {

    /**
     * 添加评估准则
     * @param standards
     * @return
     */
    int insertStandard(Standards standards);

    /**
     * 查询总条数
     * @return
     */
    int getCount(String standardName);

    /**
     * 获取准则列表分页
     * @return
     */
    List<Standards> getAllStandard(@Param("start") int start, @Param("end") int end,@Param("standardName")String standardName);

    /**
     * 删除评估准则
     * @param id
     * @return
     */
    int deleteStandard(Integer id);

    /**
     * 修改评估准则
     * @param standards
     * @return
     */
    int updateStandardById(Standards standards);

    /**
     * 根据名称查询
     * @param standardName
     * @return
     */
    List<Standards> getStandardByName(String standardName);

    /**
     * 通过id获取准则
     * @param id
     * @return
     */
    Standards getStandardById(Integer id);

    /**
     * 导出获取准则数据集
     * @return
     */
    List<Standards> getStandardList();

    /**
     * 获取全部类别
     * @return
     */
    List<Category> getAllType();

    /**
     * 统计当前月类别量
     * @return
     */
    ResultVO getStandardByMon(@Param("categoryNode") Integer categoryNode,@Param("createTime") String createTime);

    /**
     * 查询上一个月准则信息
     * @param createTime
     * @return
     */
    List<ResultVO> getStandardLast(String createTime);

    /**
     * 按准则和模板分
     * @param createTime
     * @return
     */
    List<ResultVO> getDataLast(String createTime);

    /**
     * 处理首页折线图数据
     * @param createTime
     * @return
     */
    List<ResultVO> getStandardData(String createTime);
}
